// Terrain plat Klasse

#ifndef TERRAIN_FLAT
#define TERRAIN_FLAT

#include "../../Base/DxDevice.h"
#include "../../Base/GameEngine.h"
#include "../../Forest/TreeNode.h"
class NxActor;

/** 
* Plat terrein. Handig voor Shadowmap techniek.
* @author Ruben Rigole
*/
class TerrainFlat: public TreeNode
{
public:
	TerrainFlat(const D3DXVECTOR3& pos, float width, float length, const tstring& tex);
	virtual ~TerrainFlat();

	void Draw();
	void Init(const MeshDesc& mDesc) {}

	const ID3D10ShaderResourceView* GetTexture() const;

private:
	void Init();

	D3DXVECTOR3 m_Pos;
	float m_Width, m_Length;
	NxActor *m_Actor;
	AABB m_BoundingBox;

	ID3D10Buffer* m_VertexBufferPtr;
	ID3D10Buffer* m_IndexBufferPtr;
	ID3D10ShaderResourceView* m_Texture, *m_NormalMap, *m_SpecMap;

	TerrainFlat(const TerrainFlat &t);
	TerrainFlat& operator= (const TerrainFlat &t);
};
#endif